﻿using BLL;
using Model;
using Model.Auxiliar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace HRP.Private.Pesquisa
{
    public partial class Resultados : System.Web.UI.Page
    {
        public string SearchText
        {
            get
            {
                if (Request.QueryString["text"] != null)
                {
                    return Request.QueryString["text"].ToString();
                }
                return string.Empty;
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            successSearch.Visible = SearchText.Length > 2;
            errorSearch.Visible = SearchText.Length <= 2;
            Page.PreRenderComplete += Page_PreRenderComplete;
        }

        void Page_PreRenderComplete(object sender, EventArgs e)
        {
            if (SearchText.Length > 2)
            {
                List<ResultadoPesquisa> list = new List<ResultadoPesquisa>();
                if (Session["EmpresaActual"] != null && Session["userid"] != null)
                {
                    hrp_empresas empresaActual = (hrp_empresas)Session["EmpresaActual"];
                    string domain = Request.Url.GetLeftPart(UriPartial.Authority);
                    int userId = 0;
                    Int32.TryParse(Session["userid"].ToString(), out userId);
                    list = Pesquisa_BLL.Instance.ObterListaResultados(SearchText, empresaActual.id, domain, userId);
                }
                ResultadosRepeater.DataSource = list;
                ResultadosRepeater.DataBind();
                funcionariosControlo.ListaResultado = list.Where(x => x.ContentType == TipoResultado.Funcionario).ToList();
                cargosControlo.ListaResultado = list.Where(x => x.ContentType == TipoResultado.Cargo).ToList();
                departamentosControlo.ListaResultado = list.Where(x => x.ContentType == TipoResultado.Departamento).ToList();
                mensagensControlo.ListaResultado = list.Where(x => x.ContentType == TipoResultado.Mensagem).ToList();
                eventosControlo.ListaResultado = list.Where(x => x.ContentType == TipoResultado.Evento).ToList();
                vencimentosControlo.ListaResultado = list.Where(x => x.ContentType == TipoResultado.Vencimento).ToList();
            }
        }
    }
}